package com.aplana.ccsd.web.component;

import info.magnolia.module.blossom.annotation.TabFactory;
import info.magnolia.module.blossom.annotation.Template;
import info.magnolia.module.blossom.annotation.TemplateDescription;
import info.magnolia.module.blossom.dialog.TabBuilder;

import java.util.List;

import javax.jcr.Node;
import javax.jcr.PathNotFoundException;
import javax.jcr.RepositoryException;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

import com.aplana.ccsd.model.VendorMenuItem;
import com.aplana.ccsd.service.VendorService;

/**
 * Компонент отображающий меню с названиями вендоров
 */
@Controller
@Template(title = "Top menu item", id = "blossomCCSD:components/vendors")
@TemplateDescription("Меню с названиями вендоров")
public class VendorsComponent {

	@Autowired
    private VendorService vendorService;

    @RequestMapping("/vendors")
    public String handleRequest(ModelMap model, HttpSession session, Node node) throws PathNotFoundException, RepositoryException {
    	List<VendorMenuItem> vendorsMenu = vendorService.getVendorsMenu(node);
        model.put("vendorsMenu", vendorsMenu);
		
        return "components/vendorsMenu.jsp";
    }

    @TabFactory("Content")
    public void contentTab(TabBuilder tab) {
        vendorService.addVendorsMenuDialogControls(tab);
    }
}
